package com.zackeus.sipservice.constant;

import androidx.annotation.StringDef;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @name: Event
 * @author: zz
 * @date: 2022/9/19
 */
public final class Event {

    public static final String EVENT_CALL_RECONNECTION_STATE = "callReconnectionState";
    public static final String EVENT_REGISTRATION_STATE = "registrationState";
    public static final String EVENT_REGISTRATION_STARTED = "registrationStarted";
    public static final String EVENT_OUTGOING_CALL = "outgoingCall";
    public static final String EVENT_INCOMING_CALL = "incomingCall";
    public static final String EVENT_CALL_STATE = "callState";
    public static final String EVENT_CALL_STATS = "callStats";

    @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
    @Retention(RetentionPolicy.SOURCE)
    @StringDef({EVENT_CALL_RECONNECTION_STATE, EVENT_REGISTRATION_STATE, EVENT_REGISTRATION_STARTED,
            EVENT_OUTGOING_CALL, EVENT_INCOMING_CALL, EVENT_CALL_STATE, EVENT_CALL_STATS})
    public @interface Unit {}
}
